package br.unidocs.web.bean;

import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;

import br.unidocs.modelo.entidade.Usuario;
import br.unidocs.servico.UsuarioEJB;

public class RegistroMensagemBackingBean {
	private final Usuario DADOS_NOVO_USUARIO = new Usuario();

	@EJB
	private UsuarioEJB usuarioEjb;

	private String outraSenha;

	public Usuario getDadosNovoUsuario() {
		return DADOS_NOVO_USUARIO;
	}

	public String gravaUsuario() {
		if (!outraSenha.equals(DADOS_NOVO_USUARIO.getSenha())) {
			FacesContext.getCurrentInstance().addMessage(null,
					new FacesMessage("As senhas digitadas nao sao iguais"));
			return "postback";
		}
		usuarioEjb.criaUsuario(DADOS_NOVO_USUARIO);
		return "sucesso";
	}

	public void validaEmail(FacesContext ctx, UIComponent component,
			Object value) {
		try {
			new InternetAddress(value.toString(), true);
		} catch (AddressException e) {
			ctx.addMessage(component.getClientId(), new FacesMessage(
					"e-mail invalido.", "O e-mail " + value.toString()
							+ " nao e valido."));
			ctx.validationFailed();
		}
	}

	public String getOutraSenha() {
		return outraSenha;
	}

	public void setOutraSenha(String outraSenha) {
		this.outraSenha = outraSenha;
	}
}
